home *** CD-ROM | disk | FTP | other *** search
- Section __Chunky2Planar,code
-
- ;-------------------chunky 2 planar-------------------
-
- cnop 0,16
-
- c2p_1_Pass:
-
- .Swait: tst.w SetScreen ;Make sure the last frame was displayed,
- bne.b .Swait ;no need to go faster than 50 fps.
-
- .Bwait: tst.w BlitterIsDone ;Make sure the blitter is done with the
- bne.b .Bwait ;previous frame.
-
- move.l Screen_0,d0
- move.l Screen_1,Screen_0
- move.l Screen_2,Screen_1
- move.l Screen_3,Screen_2
- move.l d0,Screen_3
-
- move.w #-1,SetScreen
-
- ;----------------CPU AntiScrambler----------------
-
- RastPos s_c2p_time
-
- lea.l ChunkyBuffer,a0
- move.l Buffer_0,a1
-
- move.l #$ff00ff00,d4
- move.l d4,d5
- not.l d5
-
- move.w #ChunkyPixels/8-2,d7
-
- IFD ClearChunkyBuffer
-
- move.l (a0),d0 ;Buffered chunky write
- clr.l (a0)+
- move.l (a0),d2 ;Buffered chunky write
- clr.l (a0)+
-
- ELSE
-
- move.l (a0)+,d0 ;Buffered chunky write
- move.l (a0)+,d2 ;Buffered chunky write
-
- ENDIF
- .Loop:
- move.l d0,d1 ;2 cycles
- move.l d2,d3 ;2 cycles
-
- and.l d4,d0 ;2 cycles
- and.l d4,d2 ;2 cycles
- lsr.l #8,d2 ;2 cycles
- or.l d2,d0 ;2 cycles
-
- move.l d0,(a1)+ ;ChipRam Write
-
- and.l d5,d1 ;2 cycles
- and.l d5,d3 ;2 cycles
- lsl.l #8,d1 ;2 cycles
- or.l d3,d1 ;2 cycles
-
- IFD ClearChunkyBuffer
-
- move.l (a0),a2 ;
- clr.l (a0)+
- move.l (a0),a3 ;
- clr.l (a0)+
-
- ELSE
-
- move.l (a0)+,a2 ;
- move.l (a0)+,a3 ;
-
- ENDIF
-
- move.l d1,(a1)+ ;ChipRam Write
-
- move.l a2,d0 ;2 cycles
- move.l a3,d2 ;2 cycles
-
- dbra d7,.Loop
- ;-------
-
- move.l d0,d1 ;2 cycles
- move.l d2,d3 ;2 cycles
-
- and.l d4,d0 ;2 cycles
- and.l d4,d2 ;2 cycles
- lsr.l #8,d2 ;2 cycles
- or.l d2,d0 ;2 cycles
-
- move.l d0,(a1)+ ;ChipRam Write
-
- and.l d5,d1 ;2 cycles
- and.l d5,d3 ;2 cycles
- lsl.l #8,d1 ;2 cycles
- or.l d3,d1 ;2 cycles
-
- move.l d1,(a1)+ ;ChipRam Write
-
- RastPos e_c2p_time
-
- ;-----------------Start Blitter--------------------
-
- move.l #BlitterPass,BlittInter
-
- lea.l $dff000,a0
- move.l #$FFFFFFFF,bltafwm(a0)
-
- move.l Buffer_0,d0
- move.l d0,bltbpt(a0)
- addq.l #2,d0
- move.l d0,bltapt(a0)
-
- move.l Buffer_1,bltdpt(a0)
-
- move.w #$4DE4,bltcon0(a0) ;AC+Bc
- move.w #$0000,bltcon1(a0)
- move.w #$0F0F,bltcdat(a0)
- move.w #$0002,bltamod(a0)
- move.w #$0002,bltbmod(a0)
- move.w #$0000,bltdmod(a0)
- move.w #ChunkyPixels/4,bltsizv(a0)
- move.w #$0001,bltsizh(a0)
-
- move.w #-1,BlitterIsDone
-
- ClrINTQ INTF_BLIT
- SetINT INTF_INTEN!INTF_BLIT
-
- addq.l #1,TellFrames
- rts
-
-
-
- ;-------------------BLITTER DEL, 2 passes ----------------
- BlitterPass:
-
- lea.l $dff000,a0
-
- move.l Buffer_1,d0
- move.l d0,bltbpt(a0)
- addq.l #2,d0
- move.l d0,bltapt(a0)
-
- move.l Screen_0,d0
- add.l #BitplaneSize*3,d0
- move.l d0,bltdpt(a0)
-
- move.w #$2DE4,bltcon0(a0)
- move.w #$0000,bltcon1(a0)
- move.w #$3333,bltcdat(a0)
- move.w #$0002,bltamod(a0)
- move.w #$0002,bltbmod(a0)
- move.w #$0000,bltdmod(a0)
- move.w #BitplaneSize/2,bltsizv(a0)
- move.w #$0001,bltsizh(a0)
-
- move.l #.p1,BlittInter
- movem.l (sp)+,d0/a0
- ClrINTQ INTF_BLIT
- rte
-
- .p1:
- lea.l $dff000,a0
-
- move.l Buffer_1,d0
- add.l #-2+ChunkyPixels/2,d0
- move.l d0,bltbpt(a0)
-
- move.l Buffer_1,d0
- add.l #-4+ChunkyPixels/2,d0
- move.l d0,bltapt(a0)
-
- move.l Screen_0,d0
- add.l #-2+ChunkyPixels/4+BitplaneSize*2,d0
- move.l d0,bltdpt(a0)
-
- move.w #$2DE4,bltcon0(a0)
- move.w #$0002,bltcon1(a0)
- move.w #$CCCC,bltcdat(a0)
- move.w #$0002,bltamod(a0)
- move.w #$0002,bltbmod(a0)
- move.w #$0000,bltdmod(a0)
- move.w #BitplaneSize/2,bltsizv(a0)
- move.w #$0001,bltsizh(a0)
-
- move.l #.p2,BlittInter
- movem.l (sp)+,d0/a0
- ClrINTQ INTF_BLIT
- rte
-
- .p2:
- lea.l $dff000,a0
-
- move.l Buffer_0,d0
- add.l #-2+ChunkyPixels,d0
- move.l d0,bltbpt(a0)
-
- move.l Buffer_0,d0
- add.l #-4+ChunkyPixels,d0
- move.l d0,bltapt(a0)
-
- move.l Buffer_1,d0
- add.l #-2+ChunkyPixels/2,d0
- move.l d0,bltdpt(a0)
-
- move.w #$4DE4,bltcon0(a0)
- move.w #$0002,bltcon1(a0)
- move.w #$F0F0,bltcdat(a0)
- move.w #$0002,bltamod(a0)
- move.w #$0002,bltbmod(a0)
- move.w #$0000,bltdmod(a0)
- move.w #ChunkyPixels/4,bltsizv(a0)
- move.w #$0001,bltsizh(a0)
-
- move.l #.p3,BlittInter
- movem.l (sp)+,d0/a0
- ClrINTQ INTF_BLIT
- rte
-
- .p3:
- lea.l $dff000,a0
-
- move.l Buffer_1,d0
- move.l d0,bltbpt(a0)
- addq.l #2,d0
- move.l d0,bltapt(a0)
-
- move.l Screen_0,d0
- add.l #BitplaneSize*1,d0
- move.l d0,bltdpt(a0)
-
- move.w #$2DE4,bltcon0(a0)
- move.w #$0000,bltcon1(a0)
- move.w #$3333,bltcdat(a0)
- move.w #$0002,bltamod(a0)
- move.w #$0002,bltbmod(a0)
- move.w #$0000,bltdmod(a0)
- move.w #BitplaneSize/2,bltsizv(a0)
- move.w #$0001,bltsizh(a0)
-
- move.l #.p4,BlittInter
- movem.l (sp)+,d0/a0
- ClrINTQ INTF_BLIT
- rte
-
- .p4:
- lea.l $dff000,a0
-
- move.l Buffer_1,d0
- add.l #-2+ChunkyPixels/2,d0
- move.l d0,bltbpt(a0)
-
- move.l Buffer_1,d0
- add.l #-4+ChunkyPixels/2,d0
- move.l d0,bltapt(a0)
-
- move.l Screen_0,d0
- add.l #-2+ChunkyPixels/4,d0
- move.l d0,bltdpt(a0)
-
- move.w #$2DE4,bltcon0(a0)
- move.w #$0002,bltcon1(a0)
- move.w #$CCCC,bltcdat(a0)
- move.w #$0002,bltamod(a0)
- move.w #$0002,bltbmod(a0)
- move.w #$0000,bltdmod(a0)
- move.w #BitplaneSize/2,bltsizv(a0)
- move.w #$0001,bltsizh(a0)
-
- move.l #.done,BlittInter
- movem.l (sp)+,d0/a0
- ClrINTQ INTF_BLIT
- rte
- .done:
-
- movem.l (sp)+,d0/a0
-
- ClrINTQ INTF_BLIT
- ClrINT INTF_BLIT
-
- clr.w BlitterIsDone
- rte
-
- ;-------------------chunky 2 planar-------------------
-
- c2p_2_Pass:
-
- .Swait: tst.w SetScreen ;Make sure the last frame was displayed,
- bne.b .Swait ;no need to go faster than 50 fps.
-
- .Bwait: tst.w BlitterIsDone ;Make sure the blitter is done with the
- bne.b .Bwait ;previous frame.
-
- move.l Screen_0,d0
- move.l Screen_1,Screen_0
- move.l Screen_2,Screen_1
- move.l Screen_3,Screen_2
- move.l d0,Screen_3
-
- move.w #-1,SetScreen
-
- ;----------------CPU AntiScrambler & 1 extra cpu pass ----------------
-
- RastPos s_c2p_time
-
- lea.l ChunkyBuffer,a0
- move.l Buffer_1,a1
-
- move.l #$f0f0f0f0,d6
- move.l d6,d7
- not.l d7
-
- move.w #ChunkyPixels/8-2,d5
-
- IFD ClearChunkyBuffer
-
- move.l (a0),d0 ;Buffered chunky write
- clr.l (a0)+
- move.l (a0),d2 ;Buffered chunky write
- clr.l (a0)+
-
- ELSE
-
- move.l (a0)+,d0 ;Buffered chunky write
- move.l (a0)+,d2 ;Buffered chunky write
-
- ENDIF
-
- .loop:
- move.w d0,d1 ;2 cycles
- swap d2 ;4 cycles
- move.w d2,d0 ;2 cycles
- move.w d1,d2 ;2 cycles
- swap d2 ;4 cycles
- move.l d0,d1 ;2 cycles
- move.l d2,d3 ;2 cycles sum: 22 cycles
-
- and.l d6,d0 ;2 cycles
- and.l d6,d2 ;2 cycles
- lsr.l #4,d2 ;4 cycles
- or.l d2,d0 ;2 cycles
-
- ror.l #8,d0 ;6 cycles
- ror.w #8,d0 ;6 cycles
- ror.l #8,d0 ;6 cycles sum: 28 cycles
-
- move.l d0,(a1)+
-
- and.l d7,d1 ;2 cycles
- and.l d7,d3 ;2 cycles
- lsl.l #4,d1 ;4 cycles
- or.l d3,d1 ;2 cycles
-
- ror.l #8,d1 ;6 cycles
- ror.w #8,d1 ;6 cycles
- ror.l #8,d1 ;6 cycles sum: 28 cycles
-
- IFD ClearChunkyBuffer
-
- move.l (a0),a2 ;
- clr.l (a0)+
- move.l (a0),a3 ;
- clr.l (a0)+
-
- ELSE
-
- move.l (a0)+,a2 ;
- move.l (a0)+,a3 ;
-
- ENDIF
-
- move.l d1,(a1)+
-
- move.l a2,d0 ;2 cycles
- move.l a3,d2 ;2 cycles
-
- dbra d5,.loop
- ;-------
- move.w d0,d1 ;2 cycles
- swap d2 ;4 cycles
- move.w d2,d0 ;2 cycles
- move.w d1,d2 ;2 cycles
- swap d2 ;4 cycles
- move.l d0,d1 ;2 cycles
- move.l d2,d3 ;2 cycles sum: 22 cycles
-
- and.l d6,d0 ;2 cycles
- and.l d6,d2 ;2 cycles
- lsr.l #4,d2 ;4 cycles
- or.l d2,d0 ;2 cycles
-
- ror.l #8,d0 ;6 cycles
- ror.w #8,d0 ;6 cycles
- ror.l #8,d0 ;6 cycles sum: 28 cycles
-
- move.l d0,(a1)+
-
- and.l d7,d1 ;2 cycles
- and.l d7,d3 ;2 cycles
- lsl.l #4,d1 ;4 cycles
- or.l d3,d1 ;2 cycles
-
- ror.l #8,d1 ;6 cycles
- ror.w #8,d1 ;6 cycles
- ror.l #8,d1 ;6 cycles sum: 28 cycles
-
- move.l d1,(a1)+
-
-
- RastPos e_c2p_time
-
- ;-----------------Start Blitter--------------------
-
- move.l #SmallBlitterPass,BlittInter
-
- lea.l $dff000,a0
-
- move.l Buffer_1,d0
- move.l d0,bltbpt(a0)
- addq.l #2,d0
- move.l d0,bltapt(a0)
-
- move.l Screen_0,d0
- add.l #BitplaneSize*3,d0
- move.l d0,bltdpt(a0)
-
- move.l #$FFFFFFFF,bltafwm(a0)
- move.w #$0D00!(_AC+_Bc),bltcon0(a0)
- move.w #$2000,bltcon1(a0)
- move.w #$CCCC,bltcdat(a0)
- move.w #$0006,bltamod(a0)
- move.w #$0006,bltbmod(a0)
- move.w #$0000,bltdmod(a0)
- move.w #BitplaneSize/2,bltsizv(a0)
- move.w #$0001,bltsizh(a0)
-
- move.w #-1,BlitterIsDone
-
- ClrINTQ INTF_BLIT
- SetINT INTF_INTEN!INTF_BLIT
-
- addq.l #1,TellFrames
- rts
-
- ;-------------------BLITTER DEL, 1 pass ----------------
- _AC = $A0
- _Bc = $44
-
- SmallBlitterPass:
- lea.l $dff000,a0
-
- move.l Buffer_1,d0
- add.l #ChunkyPixels-8,d0
- move.l d0,bltbpt(a0)
-
- move.l Buffer_1,d0
- add.l #ChunkyPixels-8+2,d0
- move.l d0,bltapt(a0)
-
- move.l Screen_0,d0
- add.l #BitplaneSize*3-2,d0
- move.l d0,bltdpt(a0)
-
- move.w #$2D00!(_AC+_Bc),bltcon0(a0)
- move.w #$0002,bltcon1(a0)
- move.w #$cccc,bltcdat(a0)
- move.w #$0006,bltamod(a0)
- move.w #$0006,bltbmod(a0)
- move.w #$0000,bltdmod(a0)
- move.w #BitplaneSize/2,bltsizv(a0)
- move.w #$0001,bltsizh(a0)
-
- move.l #.p32,BlittInter
- movem.l (sp)+,d0/a0
- ClrINTQ INTF_BLIT
- rte
-
- .p32:
- lea.l $dff000,a0
-
- move.l Buffer_1,d0
- add.l #4,d0
- move.l d0,bltbpt(a0)
-
- move.l Buffer_1,d0
- add.l #6,d0
- move.l d0,bltapt(a0)
-
- move.l Screen_0,d0
- add.l #BitplaneSize*1,d0
- move.l d0,bltdpt(a0)
-
- move.w #$0D00!(_AC+_Bc),bltcon0(a0)
- move.w #$2000,bltcon1(a0)
- move.w #$CCCC,bltcdat(a0)
- move.w #$0006,bltamod(a0)
- move.w #$0006,bltbmod(a0)
- move.w #$0000,bltdmod(a0)
- move.w #BitplaneSize/2,bltsizv(a0)
- move.w #$0001,bltsizh(a0)
-
- move.l #.p33,BlittInter
- movem.l (sp)+,d0/a0
- ClrINTQ INTF_BLIT
- rte
-
- .p33:
- lea.l $dff000,a0
-
- move.l Buffer_1,d0
- add.l #ChunkyPixels-4,d0
- move.l d0,bltbpt(a0)
-
- move.l Buffer_1,d0
- add.l #ChunkyPixels-4+2,d0
- move.l d0,bltapt(a0)
-
- move.l Screen_0,d0
- add.l #BitplaneSize*1-2,d0
- move.l d0,bltdpt(a0)
-
- move.w #$2D00!(_AC+_Bc),bltcon0(a0)
- move.w #$0002,bltcon1(a0)
- move.w #$cccc,bltcdat(a0)
- move.w #$0006,bltamod(a0)
- move.w #$0006,bltbmod(a0)
- move.w #$0000,bltdmod(a0)
- move.w #BitplaneSize/2,bltsizv(a0)
- move.w #$0001,bltsizh(a0)
-
- move.l #.done,BlittInter
- movem.l (sp)+,d0/a0
- ClrINTQ INTF_BLIT
- rte
-
- .done:
- movem.l (sp)+,d0/a0
-
- ClrINTQ INTF_BLIT
- ClrINT INTF_BLIT
-
- clr.w BlitterIsDone
- rte
-
- ;-----------------------------------------------
- NoInters:
- movem.l (sp)+,d0/a0
- rte
-
- Lev3InterruptHandler:
- movem.l d0/a0,-(sp)
- lea.l $dff000,a0
- move.w $1c(a0),d0
- btst #14,d0
- beq.b NoInters
- and.w $1e(a0),d0
- btst #6,d0
- beq.b VertBInter
- movem.l (sp)+,d0/a0
- ;BlittInter
- movem.l d0/a0,-(sp)
- move.l BlittInter(pc),a0
- jmp (a0)
-
- VertBInter:
- btst #5,d0
- beq.b NoInters
- movem.l (sp)+,d0/a0
-
- ;--------
- movem.l d0-a6,-(sp)
-
- tst.w SetScreen
- beq.b SkipSetScreen
-
- bsr UpdateCopperList
-
- clr.w SetScreen
-
- SkipSetScreen:
- clr.w VBL
-
- addq.l #1,TellTicks
-
- movem.l (sp)+,d0-a6
-
- ClrINTQ INTF_VERTB
- rte
-
- BlittInter: dc.l BlitterPass
-
- BlitterIsDone: dc.w 0
- VBL: dc.w 0
- SetScreen: dc.w 0
-
- OldLevel3Inter: dc.l 0
-
- TellFrames: dc.l 0
- TellTicks: dc.l 0
-
- Buffer_0: dc.l Buffer0
- Buffer_1: dc.l Buffer1
-
- Screen_0: dc.l Screen0
- Screen_1: dc.l Screen1
- Screen_2: dc.l Screen2
- Screen_3: dc.l Screen3
-
- ;-----------------------------------------------------------------------------
-
- SetupCopperList:
- SetBitmap SpriteData1,Spr1,5,4112
- SetBitmap SpriteData2,Spr2,5,4112
-
- move.l #CopperList1,d0
- move.w d0,CopColNext+6
- swap d0
- move.w d0,CopColNext+2
-
- move.l #CopperList1,d0
- move.w d0,NextCop2+6
- swap d0
- move.w d0,NextCop2+2
-
- move.l #CopperList2,d0
- move.w d0,NextCop1+6
- swap d0
- move.w d0,NextCop1+2
-
- lea.l SpriteData1,a1
- move.l #$AAAAAAAA,d0
- move.l #$55555555,d1
- bsr MakeDitherSprites
-
- lea.l SpriteData2,a1
- move.l #$55555555,d0
- move.l #$AAAAAAAA,d1
- bsr MakeDitherSprites
-
- bsr UpdateCopperList
- SetCop ColorCopperList
- rts
-
- UpdateCopperList:
- move.l Screen_2,a2
- SetBitmap (a2),Bitpls1,4,BitplaneSize,16
- SetBitmap (a2),Bitpls1+8,4,BitplaneSize,16
- SetBitmap (a2),Bitpls2,4,BitplaneSize,16
- SetBitmap (a2),Bitpls2+8,4,BitplaneSize,16
- rts
- ;-------------------------------------------------
-
- MakeDitherSprites:
-
- lea.l SpritePos,a0
-
- moveq #5-1,d3
-
- .loop2: move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
-
- move.w #128-1,d2
- .loop:
- move.l d0,(a1)+
- move.l d0,(a1)+
- move.l d0,(a1)+
- move.l d0,(a1)+
-
- move.l d1,(a1)+
- move.l d1,(a1)+
- move.l d1,(a1)+
- move.l d1,(a1)+
- dbra d2,.loop
-
- dbra d3,.loop2
-
- rts
-
- SpritePos:
- dc.w $2940,$0000,$0000,$0000,$3002,$0000,$0000,$0000
- dc.w $2960,$0000,$0000,$0000,$3002,$0000,$0000,$0000
- dc.w $2980,$0000,$0000,$0000,$3002,$0000,$0000,$0000
- dc.w $29a0,$0000,$0000,$0000,$3002,$0000,$0000,$0000
- dc.w $29c0,$0000,$0000,$0000,$3002,$0000,$0000,$0000
-
- ;------------------------------------------------------------------------
-
- Section TheCopperList,data_c
-
-
- ColorCopperList:
- incbin "src3:tmap2/gfx/NewTexture03.col"
-
- dc.w $0106,$E000 ;Set sprite colors to black.
- dc.w $01a6,$0000
- dc.w $01ae,$0000
- dc.w $01b6,$0000
- dc.w $0106,$0000
-
- CopColNext:
- dc.w $0080,$0000,$0082,$0000
- dc.w $0088,$0000
- dc.l $ffff,$fffe
- dc.l $ffff,$fffe
-
- CopperList1:
-
- Spr1: dc.w $0120,$0000
- dc.w $0122,$0000
- dc.w $0124,$0000
- dc.w $0126,$0000
- dc.w $0128,$0000
- dc.w $012A,$0000
- dc.w $012C,$0000
- dc.w $012E,$0000
- dc.w $0130,$0000
- dc.w $0132,$0000
- dc.w $0134,$0000
- dc.w $0136,$0000
- dc.w $0138,$0000
- dc.w $013A,$0000
- dc.w $013C,$0000
- dc.w $013E,$0000
-
- dc.w $01fc,$400f
- dc.w $0106,$0000
- dc.w $010c,$00ff
-
- dc.w $0102,$0010
-
- dc.w $0100,$0210
-
- dc.w $0104,$003f
- dc.w $008e,$0081+(($29+(128-ScreenHeight))&$ff)<<8
- dc.w $0090,$00c1+(($29+(128-ScreenHeight)+ScreenHeight*2)&$ff)<<8
- dc.w $0092,$0038,$0094,$00b0
- dc.w $0108,-40
- dc.w $010a,0
-
- dc.w $1011,$fffe
- Bitpls1:
- dc.w $00e0,$0000
- dc.w $00e2,$0000
- dc.w $00e4,$0000
- dc.w $00e6,$0000
- dc.w $00e8,$0000
- dc.w $00ea,$0000
- dc.w $00ec,$0000
- dc.w $00ee,$0000
- dc.w $00f0,$0000
- dc.w $00f2,$0000
- dc.w $00f4,$0000
- dc.w $00f6,$0000
- dc.w $00f8,$0000
- dc.w $00fa,$0000
- dc.w $00fc,$0000
- dc.w $00fe,$0000
-
-
- Tell set $28
-
- rept 108
-
- dc.b Tell,$11,$ff,$fe
- dc.w $0102,$0021
-
- dc.b Tell+1,$11,$ff,$fe
- dc.w $0102,$0010
-
- Tell set Tell+2
- endr
-
- dc.w $ffdf,$fffe
-
- Tell set $00
-
- rept 21
-
- dc.b Tell,$11,$ff,$fe
- dc.w $0102,$0021
-
- dc.b Tell+1,$11,$ff,$fe
- dc.w $0102,$0010
-
- Tell set Tell+2
- endr
-
-
- NextCop1:
- dc.w $0080,$0000,$0082,$0000
- dc.w $0088,$0000
-
- dc.w $FFFF,$FFFE
- dc.w $FFFF,$FFFE
-
- ;----------------------------------------------------------------
- CopperList2:
-
- Spr2: dc.w $0120,$0000
- dc.w $0122,$0000
- dc.w $0124,$0000
- dc.w $0126,$0000
- dc.w $0128,$0000
- dc.w $012A,$0000
- dc.w $012C,$0000
- dc.w $012E,$0000
- dc.w $0130,$0000
- dc.w $0132,$0000
- dc.w $0134,$0000
- dc.w $0136,$0000
- dc.w $0138,$0000
- dc.w $013A,$0000
- dc.w $013C,$0000
- dc.w $013E,$0000
-
- dc.w $01fc,$400f
- dc.w $0106,$0000
- dc.w $010c,$00ff
-
- dc.w $0102,$0010
-
- dc.w $0100,$0210
-
- dc.w $0104,$003f
- dc.w $008e,$0081+(($29+(128-ScreenHeight))&$ff)<<8
- dc.w $0090,$00c1+(($29+(128-ScreenHeight)+ScreenHeight*2)&$ff)<<8
- dc.w $0092,$0038,$0094,$00b0
- dc.w $0108,-40
- dc.w $010a,0
-
- dc.w $1011,$fffe
-
- Bitpls2:
- dc.w $00e0,$0000
- dc.w $00e2,$0000
- dc.w $00e4,$0000
- dc.w $00e6,$0000
- dc.w $00e8,$0000
- dc.w $00ea,$0000
- dc.w $00ec,$0000
- dc.w $00ee,$0000
- dc.w $00f0,$0000
- dc.w $00f2,$0000
- dc.w $00f4,$0000
- dc.w $00f6,$0000
- dc.w $00f8,$0000
- dc.w $00fa,$0000
- dc.w $00fc,$0000
- dc.w $00fe,$0000
-
- Tell set $28
-
- rept 108
-
- dc.b Tell,$11,$ff,$fe
- dc.w $0102,$0010
-
- dc.b Tell+1,$11,$ff,$fe
- dc.w $0102,$0021
-
- Tell set Tell+2
- endr
-
- dc.w $ffdf,$fffe
-
- Tell set $00
-
- rept 21
-
- dc.b Tell,$11,$ff,$fe
- dc.w $0102,$0010
-
- dc.b Tell+1,$11,$ff,$fe
- dc.w $0102,$0021
-
- Tell set Tell+2
- endr
-
- NextCop2:
- dc.w $0080,$0000,$0082,$0000
- dc.w $0088,$0000
-
- dc.w $FFFF,$FFFE
- dc.w $FFFF,$FFFE
-
-
- ;----------------------------------------------------------------
- section BitMaps,data_C
-
- Buffer0: ds.b BitplaneSize*8
- Buffer1: ds.b BitplaneSize*8
-
- Screen0: ds.b BitplaneSize*8
- Screen1: ds.b BitplaneSize*8
- Screen2: ds.b BitplaneSize*8
- Screen3: ds.b BitplaneSize*8
-
- SpriteData1: ds.l (4*256+4)*5
- SpriteData2: ds.l (4*256+4)*5
-
-